Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding: latency test, more control, more stats, etc.. #9

Merged
merged 2 commits into from
Jul 15, 2024

Conversation

zveinn
Copy link
Contributor

@zveinn zveinn commented Jul 5, 2024

This PR does the following:

  • Adds latency testing
  • Adds TTFB testing
  • Adds more control over buffers, timers, etc..
  • Adds multi-socket testing
  • Adds a preset for latency / TTFB testing ( -latencyTest )
  • Adds json stdout printing

Latency testing only

Using the flag -latencyTest is a shortcut for a 60 second low-bandwidth latency test @guptaarvindk

Notes

The -severIP can be used to define a server IP if two or more hosts are on the same machine. Technically this won't be needed to client deployments. We also introduce a check for the real remote IP incase clients are using proxies or LB's. The real IP is hidden if it's the same as the reported one.


Additionally, error counts and latest error message for each 1 second increments were added just so we can see if something is going wrong without the entire window spamming in errors. There is a flag -printAll which can be enabled to print all errors.

┌───────────┬───────────┬──────┬──────────┬───────┬──────────┬─────────────┬───────────────┬─────────┬────────────┐
│ Local     │ Remote    │ RX # │ RX       │ TX #  │ TX       │ MS high/low │ TTFB high/low │ Error # │ Last Error │
│ 127.0.0.1 │ 127.0.0.1 │ 9945 │ 6.5 GB/s │ 25503 │ 6.7 GB/s │ 27/0        │ 17/0          │ 0       │            │
└───────────┴───────────┴──────┴──────────┴───────┴──────────┴─────────────┴───────────────┴─────────┴────────────┘

main.go Outdated Show resolved Hide resolved
main.go Outdated Show resolved Hide resolved
main.go Outdated Show resolved Hide resolved
main.go Outdated Show resolved Hide resolved
main.go Outdated Show resolved Hide resolved
main.go Outdated Show resolved Hide resolved
main.go Outdated Show resolved Hide resolved
main.go Outdated Show resolved Hide resolved
main.go Outdated Show resolved Hide resolved
main.go Outdated Show resolved Hide resolved
main.go Outdated Show resolved Hide resolved
main.go Outdated Show resolved Hide resolved
main.go Outdated Show resolved Hide resolved
main.go Outdated Show resolved Hide resolved
Copy link

@klauspost klauspost left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍🏼

README.md Outdated Show resolved Hide resolved
go.mod Outdated Show resolved Hide resolved
.github/workflows/vulncheck.yml Outdated Show resolved Hide resolved
go.mod Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
main.go Outdated Show resolved Hide resolved
go.mod Outdated Show resolved Hide resolved
main.go Outdated Show resolved Hide resolved
main.go Outdated Show resolved Hide resolved
main.go Outdated Show resolved Hide resolved
main.go Outdated Show resolved Hide resolved
main.go Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
Copy link
Member

@harshavardhana harshavardhana left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

will test this tomorrow in our DC across 8 nodes

main.go Outdated Show resolved Hide resolved
Copy link
Member

@harshavardhana harshavardhana left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can you remove binary from the commit? and also the hosts.txt file?

@zveinn
Copy link
Contributor Author

zveinn commented Jul 15, 2024

:S the hosts.txt was meant to be an example for a host file, but np. I'll remove it and the binary.. I don't know how that got in there. I squashed it all into one commit @harshavardhana

go.mod Outdated Show resolved Hide resolved
@harshavardhana harshavardhana merged commit 1b40647 into minio:main Jul 15, 2024
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants